#include "JsonHandler.h"

json JsonHandler::loadFormFile(const string &filename)
{
    using namespace std;
    ifstream in(filename);
    /*
    if (!in)
        throw runtime_error("Failed to open" + filename);
    json j;
    in >> j;
    */
    json j;
    if (in.is_open())
    {
        try
        {
            j = json::parse(in);
            if (!j.is_array())
                cerr << "文件内容不正确，不是数组文件。" << endl;
            else
                ;
        }
        catch (json::parse_error &e)
        {

            cerr << "从文件解析失败: " << e.what() << endl;
        }
    }
    else
    {
        cerr << "无法打开文件：" + filename << endl;
    }

    return j;
}

void JsonHandler::saveToFile(const string &filename, const json &j)
{
    ofstream out(filename);
    if (!out)
        throw runtime_error("无法写入文件：" + filename);
    out << j.dump(4);
}